package com.yootk.listener;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.Lifecycle;
import org.springframework.stereotype.Component;

/**
 * 自定义的消息监听方法
 * Lifecycle生命周期处理规范
 */
@Component
public class MessageListener4 implements Lifecycle {
    private static final Logger LOGGER = LoggerFactory.getLogger(MessageListener4.class);

    private boolean running = false;    // 当前的运行状态

    // 消息的接收处理
    public void onReciever(String msg) {
        LOGGER.info("【接收到新消息】{}", msg);
    }

    @Override
    public void start() {
        LOGGER.info("【通道连接】服务器消息通道建立成功。");
        this.running = true;
    }

    @Override
    public void stop() {
        LOGGER.info("【通道关闭】断开服务器连接，关闭消息监听服务。");
        this.running = false;
    }

    @Override
    public boolean isRunning() {
        // 判断当前的操作Bean是否已经启动，如果没有启动返回false，则触发start()执行
        // 如果当前的方法返回的是一个true，则表示已经启动了，那么不调用start()方法
        return this.running;
    }
}
